using System;
namespace ns0
{
	public abstract class LuminanceSource
	{
		private int int_0;
		private int int_1;
		public abstract sbyte[] Matrix
		{
			get;
		}
		public virtual int Width
		{
			get
			{
				return this.int_0;
			}
		}
		public virtual int Height
		{
			get
			{
				return this.int_1;
			}
		}
		public virtual bool CropSupported
		{
			get
			{
				return false;
			}
		}
		public virtual bool RotateSupported
		{
			get
			{
				return false;
			}
		}
		protected internal LuminanceSource(int width, int height)
		{
			this.int_0 = width;
			this.int_1 = height;
		}
		public abstract sbyte[] getRow(int int_2, sbyte[] sbyte_0);
		public virtual LuminanceSource crop(int left, int int_2, int width, int height)
		{
			throw new SystemException("This luminance source does not support cropping.");
		}
		public virtual LuminanceSource rotateCounterClockwise()
		{
			throw new SystemException("This luminance source does not support rotation.");
		}
	}
}
